如何计算 Pandas Dataframe 列中的 NaN 出现的次数? 您所在的位置:网站首页 dataframe na 如何计算 Pandas Dataframe 列中的 NaN 出现的次数?

如何计算 Pandas Dataframe 列中的 NaN 出现的次数?

2023-03-26 20:50| 来源: 网络整理| 查看: 265

我们将介绍在 Pandas DataFrame 的一列中计算 NaN 出现次数的方法。我们有很多选择,包括针对一列或多列的isna()方法,通过从NaN出现次数中减去总长度,使用value_counts方法,以及使用df.isnull().sum()方法。

我们还将介绍计算整个 Pandas DataFrame 中NaN出现总数的方法。

1.isna() 方法来计算一列或多列中的 NaN

我们可以使用 insna() 方法(Pandas 版本> 0.21.0),然后求和以计算 NaN 的出现。对于一列,我们将执行以下操作:

import pandas as pd s = pd.Series([ 1,2,3, np.nan, np.nan]) s.isna().sum() # or s.isnull().sum() for older pandas versions

输出:

2

对于几列,它也适用:

import pandas as pd df = pd.DataFrame({ 'a':[1,2,np.nan], 'b':[np.nan,1,np.nan]}) df.isna().sum()

输出:

a 1 b 2 dtype: int64

2.从总长度中减去 non-NaN 的计数以计算 NaN 的出现次数

我们可以通过从 dataframe 的长度中减去非 Nan 出现的次数来获得每一列中 NaN 出现的次数:

import pandas as pd df = pd.DataFrame([ (1,2,None), (None,4,None), (5,None,7), (5,None,None)], columns=['a','b','d'], index = ['A', 'B','C','D']) print(df) print(len(df)-df.count())

输出:

a b d A 1.0 2.0 NaN B NaN 4.0 NaN C 5.0 NaN 7.0 D 5.0 NaN NaN a 1 b 2 d 3 dtype: int64

3.df.isnull().sum() 方法来计算 NaN 的出现次数

我们可以使用df.isnull().sum()方法获得每一列中NaN出现的次数。如果我们在sum方法中传递了axis=0,它将给出每列中出现NaN的次数。如果需要在每行中出现NaN次,我们需要设置axis=1。

考虑以下代码:

import pandas as pd df = pd.DataFrame( [(1,2,None), (None,4,None), (5,None,7), (5,None,None)], columns=['a','b','d'], index = ['A', 'B','C','D']) print('NaN occurrences in Columns:') print(df.isnull().sum(axis = 0)) print('NaN occurrences in Rows:') print(df.isnull().sum(axis = 1))

输出:

NaN occurrences in Columns: a 1 b 2 d 3 dtype: int64 NaN occurrences in Rows: A 1 B 2 C 1 D 2 dtype: int64

4.计算整个 Pandas DataFrame 中 NaN 的出现

为了获得在Dataframe中所有NaN出现的总数,我们将两个.sum()方法链接在一起:

import pandas as pd df = pd.DataFrame( [(1,2,None), (None,4,None), (5,None,7), (5,None,None)], columns=['a','b','d'], index = ['A', 'B','C','D']) print('NaN occurrences in DataFrame:') print(df.isnull().sum().sum())

输出:

NaN occurrences in DataFrame: 6

多动手,多练习,多理解,加油!!!

觉得不错的话,记得帮我 @小象点个赞哟,祝大家都能学有所获!

python相关问题集锦

如何计算值在 Pandas DataFrame 中出现的频率?

如何从 Pandas DataFrame 单元格获取值?



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有